/*
 * Copyright (c) 2023-2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef I_AUDIO_SERVER_INTERFACE_H
#define I_AUDIO_SERVER_INTERFACE_H

/* SAID: 3001 */
namespace OHOS {
namespace AudioStandard {
    // WARNING: below functions correspond with IStandardAudioService.idl
    enum class AudioServerInterfaceCode {
        GET_AUDIO_PARAMETER,
        SET_AUDIO_PARAMETER,
        GET_EXTRA_AUDIO_PARAMETERS,
        SET_EXTRA_AUDIO_PARAMETERS,
        SET_MICROPHONE_MUTE,
        SET_AUDIO_SCENE,
        UPDATE_ROUTE_REQ,
        UPDATE_ROUTES_REQ,
        UPDATE_DUAL_TONE_REQ,
        GET_TRANSACTION_ID,
        SET_PARAMETER_CALLBACK,
        GET_REMOTE_AUDIO_PARAMETER,
        SET_REMOTE_AUDIO_PARAMETER,
        NOTIFY_DEVICE_INFO,
        CHECK_REMOTE_DEVICE_STATE,
        SET_VOICE_VOLUME,
        SET_AUDIO_MONO_STATE,
        SET_AUDIO_BALANCE_VALUE,
        CREATE_AUDIOPROCESS,
        LOAD_AUDIO_EFFECT_LIBRARIES,
        CREATE_AUDIO_EFFECT_CHAIN_MANAGER,
        SET_OUTPUT_DEVICE_SINK,
        SET_ACTIVE_OUTPUT_DEVICE,
        CREATE_PLAYBACK_CAPTURER_MANAGER,
        REGISET_POLICY_PROVIDER,
        REGISET_CORE_SERVICE_PROVIDER,
        SET_WAKEUP_CLOSE_CALLBACK,
        UPDATE_SPATIALIZATION_STATE,
        UPDATE_SPATIAL_DEVICE_TYPE,
        OFFLOAD_SET_VOLUME,
        NOTIFY_STREAM_VOLUME_CHANGED,
        SET_SPATIALIZATION_SCENE_TYPE,
        GET_MAX_AMPLITUDE,
        RESET_ROUTE_FOR_DISCONNECT,
        GET_EFFECT_LATENCY,
        UPDATE_LATENCY_TIMESTAMP,
        SET_ASR_AEC_MODE,
        GET_ASR_AEC_MODE,
        SET_ASR_NOISE_SUPPRESSION_MODE,
        SET_OFFLOAD_MODE,
        UNSET_OFFLOAD_MODE,
        CHECK_HIBERNATE_STATE,
        GET_ASR_NOISE_SUPPRESSION_MODE,
        SET_ASR_WHISPER_DETECTION_MODE,
        GET_ASR_WHISPER_DETECTION_MODE,
        SET_ASR_VOICE_CONTROL_MODE,
        SET_ASR_VOICE_MUTE_MODE,
        IS_WHISPERING,
        GET_EFFECT_OFFLOAD_ENABLED,
        GET_AUDIO_EFFECT_PROPERTY_V3,
        SET_AUDIO_EFFECT_PROPERTY_V3,
        GET_AUDIO_ENHANCE_PROPERTY,
        GET_AUDIO_EFFECT_PROPERTY,
        SET_AUDIO_ENHANCE_PROPERTY,
        SET_AUDIO_EFFECT_PROPERTY,
        SUSPEND_RENDERSINK,
        RESTORE_RENDERSINK,
        LOAD_HDI_EFFECT_MODEL,
        UPDATE_EFFECT_BT_OFFLOAD_SUPPORTED,
        SET_SINK_MUTE_FOR_SWITCH_DEVICE,
        SET_ROTATION_TO_EFFECT,
        UPDATE_SESSION_CONNECTION_STATE,
        SET_SINGLE_STREAM_MUTE,
        RESTORE_SESSION,
        CREATE_IPC_OFFLINE_STREAM,
        GET_OFFLINE_AUDIO_EFFECT_CHAINS,
        GET_STANDBY_STATUS,
        GENERATE_SESSION_ID,
        GET_ALL_SINK_INPUTS,
        SET_DEFAULT_ADAPTER_ENABLE,
        NOTIFY_ACCOUNTS_CHANGED,
        NOTIFY_AUDIO_POLICY_READY,
        SET_CAPTURE_LIMIT,
        LOAD_HDI_ADAPTER,
        UNLOAD_HDI_ADAPTER,
        CHECK_CAPTURE_LIMIT,
        RELEASE_CAPTURE_LIMIT,
        CREATE_HDI_SINK_PORT,
        CREATE_SINK_PORT,
        CREATE_HDI_SOURCE_PORT,
        CREATE_SOURCE_PORT,
        DESTROY_HDI_PORT,
        DEVICE_CONNECTED_FLAG,
        SET_DM_DEVICE_TYPE,
        REGISTER_DATATRANSFER_STATE_PARAM,
        UNREGISTER_DATATRANSFER_STATE_PARAM,
        REGISTER_DATATRANSFER_CALLBACK,
        NOTIFY_SETTINGS_DATA_READY,
        IS_ACOSTIC_ECHO_CAMCELER_SUPPORTED,
        SET_SESSION_MUTE_STATE,
        NOTIFY_MUTE_STATE_CHANGE,
        FORCE_STOP_AUDIO_STREAM,
        CREATE_AUDIOWORKGROUP,
        RELEASE_AUDIOWORKGROUP,
        ADD_THREAD_TO_AUDIOWORKGROUP,
        REMOVE_THREAD_FROM_AUDIOWORKGROUP,
        START_AUDIOWORKGROUP,
        STOP_AUDIOWORKGROUP,
        SET_BT_HDI_INVALID_STATE,
        SET_KARAOKE_PARAMETERS,
        IS_AUDIO_LOOPBACK_SUPPORTED,
        IMPROVE_AUDIOWORKGROUP_PRIO,
        RESTORE_AUDIOWORKGROUP_PRIO,
        AUDIO_SERVER_CODE_MAX = RESTORE_AUDIOWORKGROUP_PRIO,
    };
} // namespace AudioStandard
} // namespace OHOS

#endif // I_AUDIO_SERVER_INTERFACE_H
